package com.yj.passport.service;


import com.yj.passport.entity.UserPassport;

/**
 * @author yesiming
 * 
 */
public interface PassportService {

    /**
     * 在手机端通过票获得userId
     * 
     * @return
     */
    public long getUserIdByTicket4Mobile(String ticket);

    /**
     * 销毁手机端的票
     * @param ticket
     * @return
     */
    public boolean destroyTicket4Mobile(String ticket);
    
    /**
     * 在手机端通过票获得passport
     * @param ticket
     * @return
     */
    public UserPassport getPassportByTicket4Mobile(String ticket);
    
    /**
     * 创建手机端的票
     * @param userPassport
     * @return
     */
    public String createTicket4Mobile(UserPassport userPassport);
    
    /**
     * 在手机端通过userid获得票
     * @param userId
     * @return
     */
    public String getTicketByUserId4Mobile(long userId);
    
    /**
     * 在web端通过md5后票获得userid
     * @param pubTicket
     * @return
     */
    public long getUserIdByTicket4Web(String pubTicket);
    
    /**
     * 销毁web端的票
     * @param pubTicket
     * @return
     */
    public boolean destroyTicket4Web(String pubTicket);
    
    /**
     * 在web端通过md5后票获得passport,注意passport里面的是原始票，不能直接用于web
     * @param pubTicket
     * @return
     */
    public UserPassport getPassportByTicket4Web(String pubTicket);
    
    /**
     * 创建web端md5后的票
     * @param userPassport
     * @return
     */
    public String createPubTicket4Web(UserPassport userPassport);
    
    /**
     * 在web端通过userid获得原始票
     * @param userId
     * @return
     */
    public String getTicketByUserId4Web(long userId);
    
    /**
     * 在web端通过userid获得md5后的票
     * @param userId
     * @return
     */
    public String getPubTicketByUserId4Web(long userId);

}
